package models;

import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

import play.db.ebean.Model;

@Entity
@Table(name = "planos_negocios_dados_basicos")
public class DadosBasicos extends Model{
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy = GenerationType.SEQUENCE)
	@Column(name = "pndb_id")
	private Integer id;
	
	@Column(name = "plne_obj_geral")
	private String objetivoGeral;
	
	@Column(name = "plne_obj_especifico")
	private String objetivoEspecifico;
	
	@Column(name = "plne_motivacao")
	private String motivacao;
	
	@Column(name = "plne_carac_inovadora")
	private String caracInovadora;
	
	@Column(name = "plne_result_esperados")
	private String resultadoEsperado;
	
	@Column(name = "plne_justificativa")
	private String justificativa;
	
	@Column(name = "plne_escopo")
	private String escopo;
	
	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "plne_id_planos_negocios")
	private PlanoNegocio plaNegocio;
	
	@OneToMany(mappedBy = "dadosBasicos", fetch = FetchType.LAZY)
	private List<HistoricoEdicao> edicoes;

	public DadosBasicos() {
		super();
	}

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getObjetivoGeral() {
		return objetivoGeral;
	}

	public void setObjetivoGeral(String objetivoGeral) {
		this.objetivoGeral = objetivoGeral;
	}

	public String getObjetivoEspecifico() {
		return objetivoEspecifico;
	}

	public void setObjetivoEspecifico(String objetivoEspecifico) {
		this.objetivoEspecifico = objetivoEspecifico;
	}

	public String getMotivacao() {
		return motivacao;
	}

	public void setMotivacao(String motivacao) {
		this.motivacao = motivacao;
	}

	public String getCaracInovadora() {
		return caracInovadora;
	}

	public void setCaracInovadora(String caracInovadora) {
		this.caracInovadora = caracInovadora;
	}

	public String getResultadoEsperado() {
		return resultadoEsperado;
	}

	public void setResultadoEsperado(String resultadoEsperado) {
		this.resultadoEsperado = resultadoEsperado;
	}

	public String getJustificativa() {
		return justificativa;
	}

	public void setJustificativa(String justificativa) {
		this.justificativa = justificativa;
	}

	public String getEscopo() {
		return escopo;
	}

	public void setEscopo(String escopo) {
		this.escopo = escopo;
	}

	public PlanoNegocio getPlaNegocio() {
		return plaNegocio;
	}

	public void setPlaNegocio(PlanoNegocio plaNegocio) {
		this.plaNegocio = plaNegocio;
	}
	
	 public static Model.Finder<Integer, DadosBasicos> find =  new Finder<Integer, DadosBasicos>(Integer.class, DadosBasicos.class);
	

}
